package com.ruoyi.system.dao;

import com.ruoyi.system.domain.vo.HomeVo;
import com.ruoyi.system.domain.vo.QuaStatisticsVo;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

public interface HomeDao {

    List<QuaStatisticsVo.NcxLvList> selectNcxLv(@Param("timeType")Integer timeType,
                                                @Param("startTime") Date startTime,
                                                @Param("endTime")Date endTime);

    List<HomeVo.BzfbTime> selectBzfbTime(@Param("timeType")Integer timeType,
                                     @Param("startTime") Date startTime,
                                     @Param("endTime")Date endTime);

    List<HomeVo.Xbfb> querySexByYear(@Param("timeType")Integer timeType,
                               @Param("startTime") Date startTime,
                               @Param("endTime")Date endTime);

    List<HomeVo.Xbfb> querySexByMonth(@Param("timeType")Integer timeType,
                                     @Param("startTime") Date startTime,
                                     @Param("endTime")Date endTime);

    List<HomeVo.Xbfb> querySexByDay(@Param("timeType")Integer timeType,
                                     @Param("startTime") Date startTime,
                                     @Param("endTime")Date endTime);

    List<QuaStatisticsVo.NumResult> queryNum(@Param("timeType")Integer timeType,
                                       @Param("startTime") Date startTime,
                                       @Param("endTime")Date endTime);

    List<QuaStatisticsVo.SexResult> querySex(@Param("timeType")Integer timeType,
                                             @Param("startTime") Date startTime,
                                             @Param("endTime")Date endTime);

    List<QuaStatisticsVo.SexResult> queryAge(@Param("timeType")Integer timeType,
                                             @Param("startTime") Date startTime,
                                             @Param("endTime")Date endTime);

    /**
     * 查询静脉溶栓人数
     * @param timeType
     * @param startTime
     * @param endTime
     * @return
     */
    int countJmrs(@Param("timeType")Integer timeType,
                  @Param("startTime") Date startTime,
                  @Param("endTime")Date endTime);

    List<QuaStatisticsVo.NumResult> queryNumMonth(@Param("timeType")Integer timeType,
                                             @Param("startTime") Date startTime,
                                             @Param("endTime")Date endTime);

}
